﻿// Decompiled with JetBrains decompiler
// Type: DnProcessSimulateCommands.ExportToRTR.CApExportToRTRLocationData
// Assembly: DnProcessSimulateCommands, Version=2402.0.0.890, Culture=neutral, PublicKeyToken=null
// MVID: A885D881-AEDF-447E-852A-6F13102E089C
// Assembly location: C:\Program Files\Tecnomatix_2402\eMPower\DotNetCommands\DnProcessSimulateCommands.dll

using Tecnomatix.Engineering;


namespace DnProcessSimulateCommands.ExportToRTR{

internal class CApExportToRTRLocationData : IApExportToRTROperationData
{
  private CApExportToRTRLocationData.ExportToRTRLocationDataConnectionType _connectionType = CApExportToRTRLocationData.ExportToRTRLocationDataConnectionType.CONNECTION_TYPE_TO_ALL;
  private CApExportToRTRStatusManager.Severity _issueSevirity = CApExportToRTRStatusManager.Severity.Ok;

  public event OnOperationChanged OperationChanged;

  internal TxRobotConfigurationData Configuration { get; set; }

  internal TxPoseData RobotPose { get; set; }

  internal CApExportToRTRLocationData.ExportToRTRLocationDataConnectionType ConnectionType
  {
    get => this._connectionType;
    set
    {
      this._connectionType = value;
      OnOperationChanged operationChanged = this.OperationChanged;
      if (operationChanged == null)
        return;
      operationChanged();
    }
  }

  internal ITxRoboticLocationOperation NextLocation { get; set; }

  public string IssueMessage { get; set; }

  public CApExportToRTRStatusManager.Severity IssueSevirity
  {
    get => this._issueSevirity;
    set
    {
      this._issueSevirity = value;
      OnOperationChanged operationChanged = this.OperationChanged;
      if (operationChanged == null)
        return;
      operationChanged();
    }
  }

  internal enum ExportToRTRLocationDataConnectionType
  {
    CONNECTION_TYPE_NONE,
    CONNECTION_TYPE_TO_ALL,
    CONNECTION_TYPE_TO_NEXT,
  }
}
